package com.jt.controller;

import com.jt.pojo.ItemCat;
import com.jt.service.ItemCatService;
import com.jt.vo.PageResult;
import com.jt.vo.SysResult;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.PageRequest;
import org.springframework.util.StringUtils;
import org.springframework.web.bind.annotation.*;
import sun.plugin2.util.ParameterNames;

import java.util.List;

/**
 * @author 刘昱江
 * 时间 2021/3/26
 */
@RestController
@CrossOrigin
@RequestMapping("/itemCat")
public class ItemCatController {

    @Autowired
    private ItemCatService itemCatService;

    /**
     * 业务说明: 获取一级商品分类信息
     *  URL地址: http://localhost:8091/itemCat/findItemCatList
     *  参数: parentId
     *  返回值: SysResult对象
     *  进行分页查询
     */
    @GetMapping("findItemCatList")
    public SysResult findItemCatList(PageResult pageResult){

        pageResult = itemCatService.findItemCatList(pageResult);
        return SysResult.success(pageResult);
    }


    //查询一二三级商品分类信息
    @GetMapping("findParentItemCatList")
    public SysResult findChildrenItemCatList(Integer type){

        List<ItemCat> itemCatList = itemCatService.findChildrenItemCatList(type);
        return SysResult.success(itemCatList);
    }

    /**
     * 业务说明: 修改商品分类状态
     * URL地址:  /itemCat/updateStatus
     * 参数: itemCat对象
     * 返回值: SysResult对象
     */
    @PostMapping("/updateStatus")
    public SysResult updateStatus(@RequestBody ItemCat itemCat){

        itemCatService.updateStatus(itemCat);
        return SysResult.success();
    }

    /**
     * 业务说明:
     *  新增商品分类信息
     *  URL:/itemCat/saveItemCat
     *  参数: form表单数据
     *  返回值: SysResult对象
     */
    @PostMapping("/saveItemCat")
    public SysResult saveItemCat(@RequestBody ItemCat itemCat){

        itemCatService.saveItemCat(itemCat);
        return SysResult.success();
    }

    /**
     * 更新商品分类名称
     * URl地址: /itemCat/updateItemCat
     * 参数:  itemCat对象
     * 返回值: SysResult对象
     */
    @PutMapping("/updateItemCat")
    public SysResult updateItemCat(@RequestBody ItemCat itemCat){

        itemCatService.updateItemCat(itemCat);
        return SysResult.success();
    }

    /**
     * 删除商品分类
     * URL地址: http://localhost:8091/itemCat/deleteItemCat?id=1197
     * 参数: id= 1197
     * 返回值: SysResult对象
     */
    @DeleteMapping("/deleteItemCat")
    public SysResult deleteItemCat(Integer id,Integer level){

        itemCatService.deleteItemCats(id,level);
        return SysResult.success();
    }
}
